// components/authorization/index.js
Component({
  /**
   * 组件的初始数据
   */
  data: {
    isLogin: false,
  },

  lifetimes: {
    attached() {
      // 1. 获取登录状态
      const isLogin = !!getApp().token
      // 2. 更新登录状态
      this.setData({
        isLogin,
      })
      // 3. 判断是否已经登录
      if (!isLogin) {
        // 3.1 获取当前的页面栈
        const currentStacks = getCurrentPages()
        // 3.2 获取当前的页面对象
        const currentPage = currentStacks[currentStacks.length - 1]
        // 3.3 获取当前页面对象的路径
        const currentRoute = currentPage.route

        // 3.5 补充操作: 当本地没有token时, 进入需要token才能进入的页面
        // 当前页面的所有初始化操作(网络请求, 初始化数据)都不应该执行
        // 所有初始化操作都在onLoad和onShow钩子函数中完成
        // 用空的函数把原有的onLoad和onShow函数覆盖掉
        currentPage.onLoad = () => {}
        currentPage.onShow = () => {}

        // 3.4 引导到登录页面
        wx.redirectTo({
          url: '/pages/login/index?redirectURL=/' + currentRoute,
        })
      }
    },
  },

  /**
   * 组件的方法列表
   */
  methods: {},
})
